package cn.gwm.utils;

import org.apache.commons.lang3.StringUtils;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 定义日期处理工具类
 * 1）传递时间格式获取指定格式的当前时间（yyyy-MM-dd、yyyyMMdd...）
 * 2）传递时间格式的字符串，将时间格式的字符串转化成Date类型返回
 */
public class DateUtils {
    /**
     * 1）传递时间格式获取指定格式的当前时间（yyyy-MM-dd、yyyyMMdd...）
     *
     * @param format
     * @return
     */
    public static String getCurrentDateTime(DateFormatDefine format) {
        return new SimpleDateFormat(format.getFormat()).format(new Date());
    }


    public static String getCurrentDateTime(DateFormatDefine format, Date date) {
        return new SimpleDateFormat(format.getFormat()).format(date);
    }

    /**
     * 2）传递时间格式的字符串，将时间格式的字符串转化成Date类型返回
     *
     * @param dateStr "2022-03-27 10:42:53"
     * @param format  yyyy-MM-dd
     * @return 2022-03-27
     */
    public static Date convertStringToDateTime(String dateStr, DateFormatDefine format) {
        //定义需要返回的日期对象
        Date date = null;
        try {
            if (StringUtils.isNotBlank(dateStr)) {
                final SimpleDateFormat sdf = new SimpleDateFormat(format.getFormat());
                date = sdf.parse(dateStr);
            }
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return date;
    }
}
